/**
 * 文件上传服务
 * 处理用户头像等文件上传功能
 */

import api from './api';

/**
 * 上传用户头像
 * @param {File} file - 要上传的文件
 * @returns {Promise} 上传结果Promise
 */
export async function uploadAvatar(file) {
  const formData = new FormData();
  formData.append('avatar', file);
  
  // 使用完整的认证头部配置
  const authHeaders = api.getAuthHeaders();
  
  // 创建自定义请求配置
  const response = await fetch(`${api.baseUrl}/upload/avatar`, {
    method: 'POST',
    body: formData,
    headers: {
      ...authHeaders
    }
  });
  
  const data = await response.json();
  
  if (!response.ok) {
    throw new Error(data.message || '上传失败');
  }
  
  return data;
}